package com.syygl.test.study.leetCode.newStart;

public class Taijie {
    //台阶问题
    public static int getAllNum(int n, int m){
        if(n == m) return (int)Math.pow(2, n-1);
        //获取m个台阶一共有的走法
        int[] dp = new int[n];
        for(int i=0; i<m; i++){
            dp[i] = (int)Math.pow(2, i);
        }

        //获取m以上的所有走法
        for(int i=m; i<n; i++){
            for(int j=1; j<=m; j++){
                dp[i] = dp[i] + dp[i-j];
            }
        }
        return dp[n-1];


    }


    public static void main(String[] args) {
        System.out.println(getAllNum(10, 3));
    }

}
